var express = require("express");
var router = express.Router();
// 导入
const formidable = require("formidable");

// 显示网页
router.get("/portrait", (req, res) => {
  res.render("portrait");
});

// 处理文件上传
router.post("/portrait", (req, res) => {
  // 创建formidable对象
  const form = formidable({
    multiples: true,
    // 设置上传文件的保存目录 /绝对路径
    uploadDir: __dirname + "/../public/images",
    // 保持文件后缀
    keepExtensions: true,
  });
  // 解析请求报文
  form.parse(req, (err, fields, files) => {
    if (err) {
      next(err);
      return;
    }

    console.log(fields, files);
    /* 
      fields(字段):保存 text radio checkbox select 等表单元素的值
      files(文件):保存上传文件的对象
     */
    /* 
    {"fields":{"username":"admin"},
    "files":{
      "portrait":{
        // 上传文件大小
        "size":19852,
        // 存放位置
        "filepath":"D:\\front_end\\NodeJS\\07 Express框架\\16-generator\\public\\images\\6954e73a81e2a40982234bf00.jpg",
        // 新文件名
        "newFilename":"6954e73a81e2a40982234bf00.jpg",
        // mime类型
        "mimetype":"image/jpeg",
        // 创建时间
        "mtime":"2024-02-05T03:50:25.321Z",
        // 原文件名
        "originalFilename":"cutcamera1703134499952.jpg"}}}
    */

    //访问图片：http://127.0.0.1:3000/images/6954e73a81e2a40982234bf00.jpg
    // 服务器保存该图片的访问 URL ,将其存放到数据库中方便日后访问
    let url = "/images/" + files.portrait.newFilename; // 上传单个文件
    // 上传多个文件
    for(let item of files.portrait){
      let url = 'images/' + item.newFilename;
      res.write(url);
    }
    res.end();
  });
});

module.exports = router;
